{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "beceb856-da40-4102-addd-18f1b5b466d3",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import networkx as nx"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8c6f741b-8866-4700-8eeb-03261d0feb37",
   "metadata": {},
   "source": [
    "# 读取数据集"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "16ed5949-9ae5-45b2-91ae-3923cc085de1",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "g = nx.from_edgelist(\n",
    "    [list(x) for x in pd.read_csv('./社交账号网络分类挑战赛公开数据/edges.csv').values]\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "id": "39339b2d-9d42-422b-a5fc-84592fe68512",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "train = pd.read_csv('./社交账号网络分类挑战赛公开数据/train.csv')\n",
    "test = pd.read_csv('./社交账号网络分类挑战赛公开数据/test.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "f8977e73-fc2d-41f6-b5cf-51f5ba093a71",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>target</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>00016152-de40-49ac-b6e4-c5b75dc0fdf6</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>00047bda-ef4b-449b-be80-8be3ca2f7098</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0006989a-e6ce-486d-ba9d-f8d64ba47c66</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>00078ea1-f3dc-4788-96fa-2bc19f2bc73e</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>00096f7d-def7-431d-9627-af690217c697</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                     id  target\n",
       "0  00016152-de40-49ac-b6e4-c5b75dc0fdf6       0\n",
       "1  00047bda-ef4b-449b-be80-8be3ca2f7098       0\n",
       "2  0006989a-e6ce-486d-ba9d-f8d64ba47c66       1\n",
       "3  00078ea1-f3dc-4788-96fa-2bc19f2bc73e       1\n",
       "4  00096f7d-def7-431d-9627-af690217c697       0"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ecf32310-8e50-45c6-aa58-c0475c2d78d4",
   "metadata": {},
   "source": [
    "# 分析数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "da109581-bf33-481a-85a9-52877278da12",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(37700, 289003)"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(g.nodes()), len(g.edges())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "7528eca2-df4b-4d3b-88b9-ab66f67219e8",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['00004509-7c0b-41d8-bef4-30d85c1de29d',\n",
       " '0e725983-f894-4dc1-aada-34b6c8775799']"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "list(g.nodes())[:2]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "d2e3aec0-9598-40da-90cf-cfa5cbc214dd",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<dict_keyiterator at 0x7f8a408f4db0>"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "g.neighbors('00004509-7c0b-41d8-bef4-30d85c1de29d')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "7e177f08-181d-4038-b093-cd7af4828f23",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "neighbors = list(nx.traversal.dfs_tree(g, '00004509-7c0b-41d8-bef4-30d85c1de29d', 2))\n",
    "nx.draw(g.subgraph(neighbors[:50]))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "169b748e-8fdc-4f02-a9f3-eb94f779bfe4",
   "metadata": {
    "tags": []
   },
   "source": [
    "# Node Classification by NetworkX"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "5002504b-1af8-4561-abd2-ec01442958f7",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "for node, label in zip(train[\"id\"].iloc[:-1000], train[\"target\"].iloc[:-1000]):\n",
    "    g.nodes[node][\"label\"] = label"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "225e994f-a009-4e94-9b16-b5ca3d656475",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "from networkx.algorithms import node_classification"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "fa2d6c32-8fc9-4a81-aa0f-7e538d157a88",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "harmonic_pred = node_classification.harmonic_function(g)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "id": "0b394892-4cdd-4ee3-8a60-23bde2835c97",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "harmonic_pred = pd.merge(\n",
    "    pd.DataFrame({'id': g.nodes(), 'pred': harmonic_pred}),\n",
    "    train, on='id'\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "id": "57b23761-a3d7-464b-99ec-1021e4feac65",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.958"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "(harmonic_pred.iloc[-1000:]['pred'] == harmonic_pred.iloc[-1000:]['target']).mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "id": "5fea3371-2888-4603-994d-375c8a316c2f",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "local_and_global_pred = node_classification.local_and_global_consistency(g)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "id": "5f596921-88f6-458b-a38e-ee3f663c7b5d",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "local_and_global_pred = pd.merge(\n",
    "    pd.DataFrame({'id': g.nodes(), 'pred': local_and_global_pred}),\n",
    "    train, on='id'\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "id": "3d37da17-e967-47f3-af2d-8e0834842b58",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.739"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "(local_and_global_pred.iloc[-1000:]['pred'] == local_and_global_pred.iloc[-1000:]['target']).mean()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9e58f848-b5c6-4288-8a0a-c252e055e2b9",
   "metadata": {},
   "source": [
    "# 模型预测"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "id": "60c15793-ee07-4b46-9135-ef7be213e3d9",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "harmonic_pred = node_classification.harmonic_function(g)\n",
    "\n",
    "harmonic_pred = pd.merge(\n",
    "    pd.DataFrame({'id': g.nodes(), 'target': harmonic_pred}),\n",
    "    test, on='id'\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "id": "42db0765-d7a4-47d9-944c-fa7ed7923719",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    8766\n",
       "1    1234\n",
       "Name: target, dtype: int64"
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "harmonic_pred['target'].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "id": "7439d2bc-cf5b-4e7b-b6ce-62fd4a26dece",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "harmonic_pred.to_csv('sub.csv', index=None)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a7a41de2-8c23-4e3f-96f0-526f4fe20662",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3.10"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.10"
  },
  "widgets": {
   "application/vnd.jupyter.widget-state+json": {
    "state": {},
    "version_major": 2,
    "version_minor": 0
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
